
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <BViewer>
#include <BMesh>
#include <BCamera>
#include <BLight>
#include <BSphere>
#include <BSurface>
#include <BGeometry>
#include <BRoundHandler>
#include <BScene>
#include <BCylinder>
#include <BIcon>
#include <BReadWrite>
#include <BTexture>
#include <BImage>
#include <BMaterial>
#include <BGridLayout>
#include <BHBoxLayout>
#include <BVBoxLayout>
#include <BButton>
#include <BComboBox>
#include <BCheckBox>
#include <BMainWindow>

#include "Motion.h"

class MainWindow : public BMainWindow
{
public:
	MainWindow();

protected:
	void slotPlayClicked(BObject* object, const BValue& value);
	void slotResetClicked(BObject* object, const BValue& value);
	void slotPauseClicked(BObject* object, const BValue& value);
	void slotCurrentChanged(BObject* object, const BValue& value);
	void slotLoopChecked(BObject* object, const BValue& value);

protected:
	virtual void showEvent(const BEvent& event);

	virtual void updateEvent(const BEvent& event);

private:
	BViewer*			_viewer;
	BButtonHolder		_resetButton;
	BButtonHolder		_playButton;
	BButtonHolder		_pauseButton;
	BComboBoxHolder		_comboBox;
	BCheckBox*			_loopCheckBox;
	MotionHolder		_motion;
	BSphere*			_sphere;
};

#endif